3.6.12.13 max,min-最大値・最小値命令
max命令とmin命令はともに 2 入力で、max命令は小さくない方の値を、min命令は大きくない方の値を出力する。
本節ではこれ以降、第 1 入力をx、第 2 入力をyで表す。
マスクフラグはxが選ばれたときに 1 になる。
これにはxとyが等しかった場合も含まれる。
精度指定に浮動小数点数と整数の両方を指定でき、動作が異なる。
整数指定の場合は整数としての通常の比較を行う。
符号なしオプションがあり、入力を符号ありと符号なしのどちらで解釈するかを指定可能である。
浮動小数点数指定の場合はmax命令とmin命令ともに、符号あり整数比較を基本として、 0 を同一視するような動作をする。
以下、詳細に述べる。
特に言及がなければ、マスクフラグはxが出力される場合に 1 になる。
xとyの全ビットが等しい場合はその値が出力され、マスクフラグは 1 になる。
xとyが全ビット一致でなく、かつともに浮動小数点数の 0 のとき(すなわち指数部の全ビットが 0 のとき)は、xが出力される。
xとyが全ビット一致でなく、かつともに同符号の無限大のときは、仮数部の比較を行って出力を決める。
以上のどれにも当てはまらないときは、通常の浮動小数点数の比較を行って出力を決める。